home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FM Towns: Free Software Collection 7
/
FM Towns Free Software Collection 7.iso
/
ms_dos
/
lcon
/
bios.doc
next >
Wrap
Text File
|
1993-11-30
|
6KB
|
197 lines
===========================================
LCON Version 0.25 BIOSドキュメント
filename : BIOS.DOC
1993/09/16 by マシーンM
===========================================
1. サポートしているBIOS (INT 91H)
function|処理| 備 考
---------+----+---------------------------------------------------------------
00H(0) | 1 |
01H(1) | 1 |
02H(2) | 1 |
03H(3) | 1 |
04H(4) | 1 |
05H(5) | 0 |
06H(6) | 0 |
07H(7) | 0 |
08H(8) | 0 |
09H(9) | 1 |
0AH(10)| 1 |
0BH(11)| 1 |
0CH(12)| 1 |
0DH(13)| 1 |
0EH(14)| 1 |
0FH(15)| 1 |
10H(16)| 1 |
11H(17)| 1 |
12H(18)| 1 |
13H(19)| 1 |
14H(20)| 1 |
15H(21)| 1 |
16H(22)| 1 |
17H(23)| 0 |
18H(24)| 0 |
19H(25)| 0 |
1AH(26)| 1 | 縦方向スクロールのみサポートしている。
1BH(27)| 0 |
1CH(28)| 0 |
1DH(29)| 1 |
1EH(30)| 1 |
1FH(31)| 0 |
20H(32)| 0 |
30H(48)| 1 | LCON専用拡張ファンクション
---------+----+---------------------------------------------------------------
処理: 0 - LCON登録前のBIOS(INT 91H)を呼び出している。
1 - LCON内で処理している。
2. LCON専用拡張ファンクション(INT 91H function 30H(ah=30h))
(1) al=00h: テキストVRAMテーブル退避用スタックポインタを初期化
(2) al=01h: 現在のテキストVRAMテーブルをスタックへ退避(スタック深さは32)
(3) al=02h: 退避しているテキストVRAMテーブルを復帰
(4) al=03h: 文字描画を開始する
(5) al=04h: 文字描画を禁止する
(6) al=05h: 文字を再描画する
(7) al=10h: テキストVRAMテーブル1を設定
(8) al=11h: テキストVRAMテーブル2を設定
(9) al=14h: テキストVRAMテーブル1を設定 + DOS terminate (int 21h ax:4C00)
(10) al=15h: テキストVRAMテーブル2を設定 + DOS terminate (int 21h ax:4C00)
(11) al=40h: 拡張画面サイズの取得
出力 dh = 行数(25,30~44)
dl = 桁数(80)
(12) al=41h: 拡張画面サイズの設定
入力 dh - 行数(25,30~44)
dl - 桁数(80)
(13) al=50h: CRTCレジスタ値の取得
入力 bl = レジスタ番号 (00h~1fh:CRTCレジスタ番号)
(20h~21h:ビデオ出力制御部レジスタ00~01)
出力 dx = レジスタ値
(14) al=51h: CRTCレジスタ値の設定
入力 bl - レジスタ番号 (00h~1fh:CRTCレジスタ番号)
(20h~21h:ビデオ出力制御部レジスタ00~01)
dx - レジスタ値
(15) al=80h: コンソール初期化 (画面消去無しの function 00H)
(1)~(15)の帰り値: ah=0 - 正常終了
ah=0以外 - LCONが常駐していない
3. サポートしているオーダ
(1) 00H: なにもしない
(2) 07H: ベルを一定時間ならす
(3) 08H: カーソルを左へ移動
(4) 09H: 次のタブ位置にカーソル移動
(5) 0AH: カーソルを次の行の同一桁位置に移動
(6) 0BH: カーソルを1行1桁に移動
(7) 0CH: テキスト画面消去
(8) 0DH: カーソルを行頭に移動
(9) 15H: グラフィック画面消去
(10) 16H: グラフィック画面+テキスト画面消去
(11) 1BH: エスケープシーケンス
(12) 1CH: カーソルを右へ移動
(13) 1DH: カーソルを左へ移動
(14) 1EH: カーソルを上へ移動
(15) 1FH: カーソルを下へ移動
4. サポートしているエスケープシーケンス
(1) ESC[Pl;PcH
(2) ESC[Pl;Pcf
(3) ESC[PnA
(4) ESC[PnB
(5) ESC[PnC
(6) ESC[PnD
(7) ESC[6n
(8) ESC[Pl;PcR
(9) ESC[s
(10) ESC[u
(11) ESC[PsJ
(12) ESC[PsK
(13) ESC[=Psh
(14) ESC[=7h
(15) ESC[?7h
(16) ESC[=Psl
(17) ESC[=7l
(18) ESC[?7l
(19) ESC[Ps;・・・;Psm
0 - すべての属性解除
1 - 高輝度
5 - ブリンク
7 - リバース
30 - 黒色
31 - 赤色
32 - 緑色
33 - 黄色
34 - 青色
35 - 紫色
36 - 水色
37 - 白色
40 - 背景色 黒色
41 - 背景色 赤色
42 - 背景色 緑色
43 - 背景色 黄色
44 - 背景色 青色
45 - 背景色 紫色
46 - 背景色 水色
47 - 背景色 白色
(20) ESC[Psv
(21) ESC=row clmn
(22) ESC*
(23) ESCY
(24) ESCT
(25) ESCE
(26) ESCR
(27) ESC?
(28) ESC.ca1 ca2
(29) ESCGat
(30) ESC<グラフィック文字>
(31) ESC[XX;・・・;XXp ( キーコード割り当て )
5. テキストVRAMのメモリマップ
(1) 25行のとき TEXT VRAM1,2のアドレス( 漢字VRAMは offset+02000h )
---------+-------------------------+--------------------------
行 | TEXT VRAM 1 | TEXT VRAM 2
---------+-------------------------+--------------------------
1~25 | c800:0000 ~ c800:0f9f | f000:0000 ~ f000:0f9f
---------+-------------------------+--------------------------
(2) 30行のとき TEXT VRAM1,2のアドレス( 漢字VRAMは offset+02000h )
---------+-------------------------+--------------------------
行 | TEXT VRAM 1 | TEXT VRAM 2
---------+-------------------------+--------------------------
1~24 | c800:0000 ~ c800:0eff |
---------+-------------------------+
25~29 | ff10:0f00 ~ ff10:121f | f000:0000 ~ f000:12bf
---------+-------------------------+
30 | c800:0f00 ~ c800:0f9f |
---------+-------------------------+--------------------------
(3) 32行のとき TEXT VRAM1,2のアドレス( 漢字VRAMは offset+02000h )
---------+-------------------------+--------------------------
行 | TEXT VRAM 1 | TEXT VRAM 2
---------+-------------------------+--------------------------
1~24 | c800:0000 ~ c800:0eff |
---------+-------------------------+
25~31 | ff10:0f00 ~ ff10:135f | f000:0000 ~ f000:13ff
---------+-------------------------+
32 | c800:0f00 ~ c800:0f9f |
---------+-------------------------+--------------------------
(おわり)